﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using COFE.Core.Validater;
using COFE.Core;

namespace COFE.IO.COFEWS
{
    /// <summary>
    /// {111-120} A list of properties for COFEWS.
    /// </summary>
    public enum COFEWSProperties : int
    {
        /// <summary>
        /// The foreign actual path of the entry, which is usable in Lookup.
        /// e.g. /lookup?path={EntryPath}
        /// </summary>
        [PropertyType(typeof(string))]
        [PrimaryProperty]
        EntryPath = 111,
        /// <summary>
        /// The Self relative uri for the returned entry.
        /// (Rel = Self)
        /// </summary>
        [PropertyType(typeof(string))]
        [PrimaryProperty]
        EntryUri,
        /// <summary>
        /// The Metadata relative uri for the returned entry.
        /// (Rel = Metadata)
        /// </summary>
        [PropertyType(typeof(string))]
        [PrimaryProperty]
        MetadataUri,
        /// <summary>
        /// The Download (or upload) relative uri for the returned entry.
        /// (Rel = Download, Upload or Stream)
        /// </summary>
        [PropertyType(typeof(string))]
        [PrimaryProperty]
        StreamUri,
        /// <summary>
        /// The List relative uri for the returned entry.
        /// (Rel = List)
        /// </summary>
        [PropertyType(typeof(string))]
        [PrimaryProperty]
        ListUri
    }
}
